home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntlib43 / mntlib / ochangel < prev    next >
Text File  |  1993-10-26  |  49KB  |  1,247 lines

  1. NOTE:  entropy@terminator.rs.itd.umich.edu is the maintainer of the
  2. libraries as of PL26.
  3.  
  4. Changes are listed in *reverse* order, most recent changes being
  5. first.
  6.  
  7. PATCHLEVEL38::
  8.  
  9. symlink.c:
  10.     Set errno properly for readlink() on a non-link (EINVAL not EACCES).
  11. lattice/setjmp.s: ++pvt1-117
  12.     Add sigsetjmp() and siglongjmp() for lattice.
  13. compiler.h: ++pvt1-117
  14.     Make LCC do the right thing in limits.h.
  15. termios.h, tcattr.c:
  16.     Add VLNEXT and VWERASE control chars.
  17. types.h: ++roemer@hera.rbi.informatik.uni-frankfurt.de.uni-frankfurt.de
  18.     Add fd_set type and related macros.
  19. falcon.h: ++Markus_Kilbinger@ac.maus.de
  20.     Change return types of VsetMask() and Dsp_Reserve() from
  21.     void to short.
  22. _mulsi3.s, _umulsi3.s: ++schwab
  23.     .lmul and .ulmul aren't equivalent.
  24. read.c, write.c: ++schwab
  25.     Reduce drag.  Also alias read to _read and write to _write
  26.     when __GNUC__ && !__MSHORT__.
  27. popen.c: ++schwab
  28.     Reduce drag.  Also simplify code by using waitpid().
  29. open.c: ++schwab
  30.     Pass as many flags as possible through to MiNT, and let it decide
  31.     what to do with them.  Only fall back on emulation if we can't pa a
  32.     given flag.
  33. ioctl.c, stat.c: ++schwab
  34.     Reduce drag.
  35. rename.c: ++schwab
  36.     Try to preserve the old file under the new name as long as possible,
  37.     in case an error occurs. Unfortunately we cannot determine exactly
  38.     why Frename() failed, so this is not perfect (bug?).  Also, reduce
  39.     library drag.
  40. alarm.c: ++schwab
  41.     Use Talarm() instead of alarm() to reduce drag.  Also
  42.     fix a bug in the code for old versions of MiNT. [I messed with
  43.     this a lot to get some more error checking and also added some
  44.     comments. -entropy]
  45. wait.h: ++schwab@ls5.informatik.uni-dortmund.de
  46.     Make the wait prototype indirection more robust.  Also fix the
  47.     definition of WIFSIGNALED().
  48. wait3.c:
  49.     Remove bogus usage of non-existent rusage value added in PL37.
  50. falcon.h: ++pvt1-117
  51.     Inline traps for Lattice.
  52. wcmb.c: ++pvt1-117
  53.     Use _wnull from wnull.c instead of a local variable.
  54. wcscat.c, wcscmp.c, wcscpy.c, wcslen.c, wnull.c: ++pvt1-117
  55.     NEW files for ISO wide char support.
  56. stdlib.h: ++pvt1-117@nada.kth.se
  57.     Add prototypes for new ISO widechar functions.
  58.  
  59. PATCHLEVEL37::
  60.  
  61. bzero.cpp, mincl:
  62.     Break bzero and memset into separate .o's (reduce drag).
  63. gethostn.c: ++sjg@phlem.ph.kcl.ac.uk, ++entropy
  64.     Look in /etc/hostname instead of /local/hostname, and look in the
  65.     file before the environment.
  66. lattice/mc3.prj, lattice/mcnb3.prj, lattice/mcr3.prj,
  67. lattice/mcrnb3.prj: ++pvt1-117
  68.     Remove long mul/div with 030 code.
  69. string.h, strcmp.c: ++pvt1-117
  70.     Allow use of builtin string functions.
  71. lattice/bcopy.s, lattice/crt0.s, lattice/inc.i, lattice/linea.s,
  72. lattice/setjmp.s, lattice/vfork.s: ++pvt1-117
  73.     If we're lucky, they might decide to keep us as pets.
  74. file.h:
  75.     Add FREAD and FWRITE macros for TIOCFLUSH flushing modes (not yet
  76.     implemented in MiNT).
  77. unistd.h:
  78.     Add tcgetpgrp() and tcsetpgrp() protos.
  79. ioctl.h:
  80.     Changes to account for definitions in common with termios.h,
  81.     also add _RTSCTS flag definition.
  82. termios.h, cfspeed.c, tcattr.c, tcbreak.c, tcdrain.c, 
  83. tcflow.c, tcflush.c, tcpgrp.c:
  84.     NEW files, partially implementing the POSIX termios functions.
  85.     (UNTESTED).
  86. wait.h:
  87.     Add WSTOPSIG() macro (POSIX).
  88. utime.c:
  89.     Add a kludge so that we pretend the utime() worked for directories.
  90. mkdir.c, stat.h:
  91.     Mode argument is now mode_t instead of unsigned (POSIX).
  92. mkfifo.c, stat.h:
  93.     NEW file providing a fake mkfifo(), and a prototype for it.
  94. mknod.c:
  95.     Provide at least a little functionality in mknod().
  96. resource.h, getrusag.c, wait3.c, wait.c:
  97.     Add BSD-compatible struct rusage members with 0 values for
  98.     minimal compatibility.
  99.     Use Pwaitpid() instead of Pwait3() for wait() and wait3()
  100.     (as requested in MiNT's dosmem.c).
  101. errno.h:
  102.     Added EOPNOTSUPP as (temporary) alias for EINVAL.
  103.     Added ECHILD as alias for ENOENT (POSIX).
  104. lattice/*.prj: ++pvt1-117
  105.     NEW files:  48 new project files for Lattice.  Yow.
  106. doprnt.c, fprintf.c, printf.c, sprintf.c, 
  107. vfprintf.c, vfprintf.c, lib.h: ++schwab
  108.     Change the interface of _doprnt to also pass a putchar function
  109.     similar to _scanf.  This allows use of sprintf in a program which
  110.     doesn't use stdio and it simplifies the implementation of sprintf a
  111.     bit.
  112. fscanf.c, scanf.c, sscanf.c, lib.h: ++schwab
  113.     The implementation of sscanf had a bug: the ungetc function would
  114.     write into the scanned string passed to sscanf.  This is a Bad Thing,
  115.     since the string could be in readonly memory.  Also changed the
  116.     interface a bit so that there is less need for casts.  Strictly
  117.     speaking, the old way of casting the function pointers can result in
  118.     undefined behaviour.
  119. getdtabl.c:
  120.     Use _SC_OPEN_MAX instead of magic number 2.
  121. lseek.c: ++schwab@ls5.informatik.uni-dortmund.de
  122.     Make lseek() and tell() always return -1 on errors.  Make lseek()
  123.     work better with unseekable devices.  Don't modify errno
  124.     when no error has occurred.  General cleanup.
  125. lattice/osbind.s, lattice/lcsnb.prj, lattice/lcnb.prj: ++pvt1-117
  126.     DELETED files.
  127. nlist.c, select.c, sync.c, truncate.c: ++pvt1-117
  128.     Add some typecasts to keep Lattice happy.
  129. mintbind.h: ++pvt1-117@nada.kth.se
  130.     Add some casts in the Lattice C inlines.
  131. frexp.cpp: ++Cristof_Stadler@s2.maus.de
  132.     Bug fix: add a missing @.
  133. read.c:
  134.     Add the beginnings of some code to make read() POSIX compliant.
  135.     It turns out that this will require kernel changes so this
  136.     code is currently inactive.
  137. lockf.c:
  138.     Fix so flock() and lockf() block when appropriate.
  139. dirent.c:
  140.     Bug fix: rewinddir() wasn't resetting the directory offset to 0.
  141. crtinit.c, ctime.c, doprnt.c, findfile.c, getpass.c, 
  142. localtim.c, strftime.c, strncat.c, unx2dos.c: ++pvt1-117@nada.kth.se
  143.     Removed some dead assignments and increments.
  144. stdlib.h:
  145.     Added NULL (POSIX).
  146. dup.c:
  147.     Clear the close-on-exec flag of the duped handle for both dup()
  148.     and dup2().
  149. open.c:
  150.     For O_TRUNC mode, try to use FTRUNCATE.  Also, clear the
  151.     close-on-exec bit of the opened file.
  152.  
  153. PATCHLEVEL36::
  154.  
  155. mincl:
  156.     Added target for nlist.o.
  157. mincl, sozobon/makefile, lattice/mincl.lcc, purec/mintlib.prj: ++entropy
  158.     Added targets for truncate.o, wcmb.o, printf.o, vfprintf.o,
  159.     vprintf.o.
  160. truncate.c, types.h: ++schwab
  161.     NEW file, implementation of truncate()/ftruncate().  Protos in
  162.     types.h.
  163. getwd.c: ++schwab
  164.     Make getwd() return an error message in the buffer on failure.
  165. _addsubs.cpp: ++nox
  166.     Correct an inverted branch.
  167. open.c: ++nox@jelal.north.de, ++entropy
  168.     Fix so that when we use Fcreate() we then Fclose() and Fopen() the
  169.     file, so we get sharing modes correct.
  170. utime.c: ++schwab
  171.     utime(NULL) uses time() to convert the current time to Unix format
  172.     and immediately converts it back to GEMDOS format. Instead it should
  173.     use the GEMDOS format directly.
  174.     stime() must be changed because Tset{date,time} can now return a
  175.     real error number. This depends on Tset{date,time} returning -1 if
  176.     args are bad, which is true for all TOS versions, i think.
  177. ttyname.c: ++schwab
  178.     ttyname() should not return names starting with "u:" when _rootdir is
  179.     'U', to be consistent with rest of library. find_ino now gets the
  180.     dir name in gemdos format and it calls dos2unx on it.  ttyname.c
  181.     unnecessarily depends on dirent.c, we know that Dreaddir works.  We
  182.     can also avoid the hairy fstat(), since we know that Fcntl(FSTAT)
  183.     works.
  184. signal.c: ++schwab
  185.     Pass through additional signal handler parameters via _trampoline().
  186. rename.c: ++rwilhelm@physik.tu-muenchen.de
  187.     Eliminate a useless strcmp().
  188. main.c: ++schwab
  189.     When converting a path variable from the environment, we can conserve
  190.     memory by using the fact that _path_unx2dos enlarges the path by at
  191.     most two times the number of elements. On the other hand, if there is
  192.     no PCONVERT env var, the provided space was too small.
  193. isatty.c: ++schwab
  194.     Removes the dependency of isatty() on ttyname().
  195. spawn.c: ++schwab
  196.     Cleaned up the script emulation code, and changed it in that only
  197.     files starting with "#!" are interpretable (as Unix does).  The
  198.     first 1024 bytes of the file are examined when looking for
  199.     interpreter and arguments.  A small bug is also corrected: errno
  200.     should never be changed when there is no error.
  201. falcon.h: ++Markus_Kilbinger@ac.maus.de
  202.     Add two omitted backslashes to fix new trap definitions.
  203. chmod.c: ++schwab@ls5.informatik.uni-dortmund.de
  204.     chmod() unnecessarily calls stat() to check if the file is a
  205.     directory; this information is already available through Fattrib().
  206. nlist.c, nlist.h: ++shenson@nyx.cs.du.edu
  207.     NEW files nlist.c, nlist.h.  A version of nlist() for mntlib/toslib.
  208.     Works OK with my binary config program but your milage may vary.
  209. wcmb.c, stdlib.h: ++pvt1-117@nada.kth.se
  210.     NEW file wcmb.c for ANSI wide char functions.
  211. waitpid.c: ++Robert.Wilhelm@Physik.TU-Muenchen.DE
  212.     Add a forgotten patch for non-GCC compilers.
  213. ctype.h: ++dsb@cs.duke.edu
  214.     The toint() macro in ctype.h was translating hex digits wrong.
  215. --begin jrb changes--
  216. math-68881.h: ++jrb
  217.     -- Put extern "C" around file when __cplusplus
  218.     -- Make hypot use internal version of sqrt (because signature
  219.        clash in libg++:xfix )
  220.     -- Define internal version (_sqrt) of sqrt.
  221. osbind.h: ++Robert.Wilhelm@Physik.TU-Muenchen.DE
  222.     Changed addw #n,sp to lea n(s),sp which is 4 cycles shorter.
  223. fprintf.c: ++jrb
  224.     Break out vfprintf, printf and vprintf into their own .o's. That
  225.     way the user can replace any of them.
  226. printf.c, vfprintf.c, vprintf.c:: ++jrb
  227.     NEW files.
  228. mincl: ++jrb
  229.     Add targets for above.
  230. gnulib2.c: Steven Ourada (sourada@iastate.edu)
  231.     #define WORD_BIG_ENDIAN for long long.
  232. --end jrb changes--
  233.  
  234. PATCHLEVEL35::
  235.  
  236. unx2dos.c: ++schwab
  237.     _unx2dos("/dev/.") -> ".:" -> file not found.  This patch isn't
  238.     optimal, because it only works for the first 26 drives, but better
  239.     than before. (Who has more than 26 drives anyway? :-)
  240. wait.c, waitpid.c, wait.h: ++Robert.Wilhelm@Physik.TU-Muenchen.DE
  241.     Accept both POSIX and BSD style parameters.  [I'm not certain these
  242.     patches really leave us with a POSIX-compliant wait*() suite, but
  243.     I'll leave it be for now -entropy]
  244. Makefile: ++Bjarne_Pohlers
  245.     Fix 020 targets to use 'make install020', and fix all targets to
  246.     do 'make clean' only when necessary.
  247. doprnt.c, scanf.c: ++Bjarne_Pohlers@ms2.maus.de
  248.     Add support for printing/scanning long longs.
  249. div.c: ++pvt1-117
  250.     Add div functions for compilers other than GCC.
  251. bsearch.c: ++dsb
  252.     Fix bug reported by Thorsten Roskowetz: the order arguments to
  253.     bsearch()'s comparison function was reversed.
  254. sozobon/makefile, sozobon/readme: ++dsb
  255.     Updated to reflect recent changes in the library.
  256. thread.c: ++dsb
  257.     Fix a strange declaration (extern static?!?).
  258. sozobon/linea.s, sozobon/makefile: ++dsb@cs.duke.edu
  259.     Fix some HSC linker problems by punting alglobal.o.
  260. ioctl.h: ++Jan-Hinrich_Fessel@un.maus.ruhr.de (Jan-Hinrich Fessel)
  261.     Make it possible to include both ioctl.h and filesys.h.
  262. pgrp.c: ++schwab
  263.     Correctly check the MiNT version in _bsd_getpgrp().
  264. clock.c, doprnt.c, main.c, thread.c, uname.c: ++pvt1-117
  265.     Changes to keep Lattice C from generating annoying warnings, and
  266.     other miscellaneous cleanups. [Once again I've modified these
  267.     patches in various ways, so if something's broken it's my fault
  268.     -entropy].
  269. math.h, process.h, support.h, unistd.h, exec.c, execp.c, findfile.c, 
  270. scanf.c, spawn.c, spawnve.c, spawnvp.c, statfs.c, textio.c: ++schwab
  271.     Add 'const' to declarations where appropriate.
  272. malloc.c:  ++schwab
  273.     Make malloc() round all memory requests to the page size to be able
  274.     to use all the available memory.
  275. setjmp.cpp, setjmp.h: ++schwab
  276.     Some cleanup; one element of jmp_buf[] can be saved by using the
  277.     fact that signal 0 cannot be masked; why was the type char*[] insead
  278.     of long[]?
  279. osbind.cpp: ++schwab
  280.     Add some missing functions added; code cleanup.
  281. select.c: ++schwab@ls5.informatik.uni-dortmund.de
  282.     Fix select() to deal with timeouts of more than 65.535 seconds. This
  283.     is needed for emacs 19.
  284. statfs.c: ++schwab
  285.     In statfs(): before passing to Dcntl, the path must be passed
  286.     through _unx2dos, and it should be declared const.
  287. sysconf.c: ++schwab
  288.     Update the value returned for _PC_LAST.
  289. fopen.c: ++schwab
  290.     Make fopen() use 0666 as the default file mask (use umask() if you
  291.     want something else); make mkdir() respect the umask setting.
  292. mktemp.c: ++schwab
  293.     mktemp() can generate a name more than once; the length of the
  294.     pattern should not be changed (emacs depends on it).
  295. lattice/crt0.s: ++pvt1-117
  296.     Add some conditional stuff depending on program type.
  297. utime.c: ++shenson@nyx.cs.du.edu
  298.     Pass through a NULL tset argument unchanged to the filesystem
  299.     so that it can determine permissions correctly.
  300. falcon.h: ++hyc@hanauma.Jpl.Nasa.Gov, ++Markus_Kilbinger@ac.maus.de
  301.     Change several erroneous macros to correctly cast return to short.
  302. lattice/*: ++pvt1-117
  303.     Strip all carriage returns from Lattice C files.
  304. spawn.c: ++Ole_Arndt
  305.     Add script interpretation (#!).
  306. sync.c, support.h: ++Ole_Arndt
  307.     NEW file, sync() and fsync() (for Minixfs only).  Proto in support.h.
  308. sigactio.c: ++Ole_Arndt
  309.     Use __NSIG instead of NSIG, may as well be POSIX-clean.
  310. errno.h: ++Ole_Arndt
  311.     Add errors ENOTDIR and ELOOP.
  312. signal.h: ++Ole_Arndt@f.maus.de (Ole Arndt)
  313.     Fix definition of _SIGSET_MAX_INDEX to correct several bugs
  314.     in the POSIX signal mask functions.
  315. stdio.h:
  316.     Add vsscanf() and _getbuf() protos (yech).
  317. dirent.h:
  318.     Add alphasort() proto (excluded by _POSIX_SOURCE).
  319. utmp.c, wtmp.c, utmp.h:
  320.     Rename write_utmp() to _write_utmp().  Rename write_wtmp() to
  321.     _write_wtmp().  Add protos (and other cleanups) to utmp.h.
  322. atof.c, fdopen.c, fputs.c:
  323.     Move 'register' to beginning of declarations (shuts up gcc -Wall).
  324. fwrite.c: ++michal
  325.         With unbuffered IO fwrite miscounts number of characters written.
  326. findfile.c: ++michal
  327.     Try to accomodate tos style paths PATH=e:\bin,c:\bin,...
  328. unistd.h: ++jrb
  329.     Take out setlinebuf, doesn't really belong here.
  330. ffs.c: ++NTOMCZAK@vm.ucs.UAlberta.CA (Michal Jaegermann)
  331.     An even faster algorithm.  Yow!  Are we optimized yet?
  332. support.h:
  333.     Added _exit() and gethostname() protos. Removed write_utmp() and
  334.     write_wtmp() protos.
  335. lib.h, crtinit.c:
  336.     Moved prototypes from crtinit.c to lib.h, and added more to lib.h.
  337. abort.c, main.c, lib.h:
  338.     Make abort() close file handles in exactly the same manner
  339.     as exit().
  340. sigactio.c, signal.h: ++nox@jelal.north.de, ++Oskar, ++entropy
  341.     Fix type of sa_mask in struct sigaction (sigset_t, not long).
  342.     Clean up dirty tricks in sigaction() (UNTESTED).
  343. falcon.h: ++Markus_Kilbinger@ac.maus.de, ++entropy
  344.     Add missing traps.
  345. unistd.h, support.h:
  346.     Cleaned unistd.h for easier reading.  Moved back the link(),
  347.     symlink(), and readlink() protos from support.h (sorry if I seem
  348.     really indecisive on where some of these protos belong).
  349. doprnt.c, getdtabl.c, gethostn.c, mknod.c, nice.c, open.c, putenv.c,
  350. symlink.c, utime.c:
  351.     Include appropriate headers for protos (and fixed mknod() proto).
  352. sys/statfs.h:
  353.     Add statfs() proto.
  354. sys/errno.h, sys/ioctl.h, sys/resource.h, sys/signal.h, sys/wait.h:
  355.     Fix multiple-include protection to hopefully prevent possible
  356.     infinite include loops (see Bugs file).
  357. getpw.c, pwd.h: ++Jan-Hinrich_Fessel@un.maus.de (Oskar)
  358.     Use uid_t (_UID_T) for getpwuid() instead of int (POSIX).
  359. lattice/inc.i: ++pvt1-117@nada.kth.se
  360.     Fix a typo.
  361.  
  362. PATCHLEVEL34::
  363.  
  364. ffs.c: ++frog
  365.     Much faster algorithm.
  366. _fixsfsi.cpp, _fltsisf.cpp, frexp.cpp, modf.cpp,
  367. Makefile: ++dc4i@br0.hrz.th-darmstadt.de (Stefan Steyer)
  368.     Bug fixes for SFP004 coprocessor code.  Add sfp004 targets.
  369. doprnt.c: ++schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
  370.     The decimal precision in a printf format does not include the sign or
  371.     hex prefix, e.g. printf ("%-2.5d", -18) should print "-00018".
  372. select.c, time.h: ++Frank_Baumgart@pb.maus.de, ++entropy
  373.     Get struct timeval from time.h, eliminate local definition.
  374.     Add prototype of select() to time.h (is there a better place?)
  375. ctype.h, grp.h, dirent.h, stddef.h, string.h:
  376.     Cleaned up for POSIX.
  377. wait.h, pwd.h:
  378.     Cleaned up for POSIX (need more work).
  379. compiler.h, limits.h, stdio.h:
  380.     Set stream limits for POSIX.
  381. locale.h:
  382.     Define NULL if not already defined (POSIX).
  383. limits.h:
  384.     Raise value of _POSIX_NGROUPS_MAX from 0 to arbitrary value of
  385.     512 now that we have a decent getgroups().
  386. fcntl.c, fcntl.h, errno.h:
  387.     Add definition of F_SETLKW to fcntl.h.  Add ELOCKED to errno.h.
  388.     If Fcntl() gets ELOCKED, return EACCES instead (POSIX).
  389. unistd.h, stat.h, fcntl.h:
  390.     Moved many prototypes to the correct headers.
  391. sigactio.c, signal.h:
  392.     Fix some violations of POSIX namespace.
  393. stab.h, stab.def, Copyright:
  394.     Symbol table definition files MOVED from gnu/ subdirectory to main
  395.     include file directory.  Copyright message for these files added to
  396.     Copyright file.
  397. OChangelog, Changelog:
  398.     "Changes" file renamed to OChangelog.  New file Changelog created.
  399.  
  400. PATCHLEVEL33::
  401.  
  402. getgroup.c: ++Ole_Arndt@f.maus.de, ++entropy
  403.     Completely rewritten getgroups() function to replace the bogus one.
  404. grp.c:
  405.     Ignore spaces preceeding usernames in /etc/group.
  406. main.c: ++Wolfgang
  407.     Remove the non-macro versions of stdin, stdout, stderr.  It causes
  408.     problems for some programs.  People doing debugging should know
  409.     about _iob[] anyway.
  410. setjmp.h: ++Wolfgang
  411.     Fix some brain-damage in the BSD setjmp/longjmp from PL32.
  412. types.h:
  413.     Rearrange major() macro.
  414. cuserid.c, stdio.h:
  415.     NEW file, cuserid() function for SysV compatibility.
  416.     Prototype and L_cuserid definition in stdio.h.
  417. regexp.c: ++pvt1-117
  418.     Don't nul-terminate inserted operand twice in reginsert().
  419. regsup.c: ++pvt1-117
  420.     Eliminate a useless increment.
  421. falcon.h: ++Markus_Kilbinger@ac.maus.de, ++entropy
  422.     Fix a typo in trap_14_wwwwww.  Add trap_14_wllll and trap_14_wlllll
  423.     macros for DSP calls (UNTESTED).  Cast Dsp_Lock() to short instead
  424.     of long.
  425. chmod.c:
  426.     For chown(), ignore EINVAL error so we don't get annoying errors
  427.     on the TOS filesystem.
  428. Makefile:
  429.     Synch up with parts of jrb's TOS-library Makefile.
  430. purec/install.bin: ++hohmuth
  431.     Documentation update.
  432. purec/makefile: ++hohmuth
  433.     Fix a bug which could have caused problems in a binary distribution
  434.     for Turbo C.
  435. mincl:
  436.     Don't compile libgcc2 with -mshort.
  437. Copyright:
  438.     Add copyright notice for libgcc2.c.
  439. GNUGPL2:
  440.     NEW file, GNU General Public License version 2.  Modules covered by
  441.     this license are noted in the file Copyright.
  442. isatty.c: ++nox
  443.     Fix _isctty() for much better performance.
  444. compiler.h: ++pvt1-117
  445.     Add correct definition for __CDECL for Lattice C.
  446. stat.h: ++nox@jelal.north.de
  447.     Use mode_t instead of u_short for type of st_mode.
  448. types.h: ++nox
  449.     Do typedef time_t if _POSIX_SOURCE.  [I think my O'Reilly POSIX book
  450.     mislead me on this one. -entropy]
  451. sigactio.c:
  452.     Give sigpending() a return value.  Oops.
  453. ioctl.c:
  454.     Include appropriate headers.
  455. linea.c:
  456.     Explicitly return the value for linea2() instead of magically
  457.     using d0.
  458. ffs.c, support.h:
  459.     NEW file for BSD function ffs().  Proto in support.h.
  460. sysvar.c: ++pvt1-117, ++entropy
  461.     Add some typecasts to (hopefully) make Lattice C happy.
  462.     [The patch I got did this differently, and in my opinion,
  463.     in a more messy way.  Hopefully this is good enough -entropy]
  464. lib.h: ++pvt1-117
  465.     Remove findfile() proto, it is in support.h.
  466. getrusag.c: ++pvt1-117, ++entropy
  467.     Add a prototype _add_tval().
  468. scandir.c: ++pvt1-117
  469.     Bug fix:  don't use names[0] as argument to sizeof() before names
  470.     is initialized.
  471. chdir.c: ++pvt1-117
  472.     Remove some dead code.
  473. thread.c: ++pvt1-117
  474.     Add proto for startup().
  475. calloc.c, random.c, spawn.c, ttyname.c: ++pvt1-117
  476.     Remove extern function declarations in favor of prototypes.
  477. fopenp.c, textio.c, utmp.c, wtmp.c: ++pvt1-117
  478.     Make parameters const where appropriate.
  479. a64l.c, alarm.c, close.c, console.c, eprintf.c, fork.c, getbuf.c, getcwd.c,
  480. getdtabl.c, initsig.c, mkdir.c, mknod.c, pipe.c, psignal.c, putenv.c,
  481. raise.c, rmdir.c, strlwr.c, strrev.c, strupr.c, unx2dos.c: ++pvt1-117
  482.     Include appropriate headers for protos.
  483. dirent.c, sscanf.c, stat.c, timeoday.c: ++pvt1-117
  484.     A few typecasts here and there to keep Lattice C happy.
  485. stdio.h: ++pvt1-117, ++entropy
  486.     Add prototypes for setlinebuf(), vscanf(), vfscanf().
  487.     Cleaned up a bit for POSIX.
  488. signal.h, unistd.h: ++pvt1-117, ++entropy
  489.     Add prototypes for kill() and killpg() to signal.h.
  490.     Remove kill() prototype from unistd.h.
  491. getgroup.c, unistd.h: ++pvt1-117, ++entropy
  492.     Use correct parameters for getgroups().
  493.     Add prototype to unistd.h.
  494. pause.c: ++pvt1-117, ++entropy
  495.     Always return -1 with errno set to EINTR if MiNT's Pause() call
  496.     returns without a longjmp() out of a signal handler.
  497. support.h: ++pvt1-117, ++entropy
  498.     Add protos for putenv(), _console_read_byte(),
  499.     _console_write_byte(), _text_read(), _text_write(), getdtablesize(),
  500.     write_utmp(), write_wtmp(), nice(), mknod(), fopenp().
  501. mintbind.h: ++pvt1-117@nada.kth.se
  502.     Fixes for Lattice C.
  503. GMakefile.16, GMakefile.32:
  504.     Renamed gmakefil.16 and gmakefil.32 to GMakefile.16 and GMakefile.32.
  505. Copyright:
  506.     Renamed copyrigh.t to Copyright.
  507. Files:
  508.     Renamed common to Files.
  509.  
  510. PATCHLEVEL32::
  511.  
  512. sozobon/linea.s: ++dsb
  513.     Prevent it from trying to redefine the Line-A variables that were
  514.     already defined in alglobal.c.
  515. support.h: ++warwick@cs.uq.oz.au
  516.     Remove two occurances of the string "new" for C++ compatibility.
  517. ctype.h:
  518.     More POSIX namespace monkey business.
  519. types.h:
  520.     Made lots of stuff #ifndef _POSIX_SOURCE.  Added a few POSIX types
  521.     (nlink_t, mode_t).
  522. popen.c:
  523.     I somehow managed to apply two patches to fix the close-on-exec flags
  524.     for the child, without noticing.  Thanks to nox for pointing this
  525.     out.  I think I've fixed it.
  526. purec/makefile, purec/mintlib.prj: ++entropy
  527.     Add ctermid.c to sources.
  528. purec/makefile, purec/mintlib.prj: ++hohmuth
  529.     Add switch for generating PC-relative function calls.
  530.     Change default to assume the user does not have osbind.lib.
  531.     PCREL stuff.  Add pgrp.c to sources.
  532. purec/readme.pc, purec/install.src: ++hohmuth
  533.     Updated documentation.
  534. doprnt.c: ++hohmuth
  535.     Make a long constant explicit for Pure C.
  536. stat.c: ++hohmuth
  537.     An error return value was missing (was return; is now return -1;).
  538. statfs.c: ++hohmuth@freia.inf.tu-dresden.de
  539.     Cast &mfsinfo to long, for Pure C.
  540. setjmp.h:
  541.     Implemented BSD-compatible _setjmp(), _longjmp(), setjmp(), and
  542.     longjmp().  Selectable by defining _BSD_SOURCE.  BUG: not compatible
  543.     with __STRICT_ANSI__.
  544. fcntl.h:
  545.     Add POSIX-required mask FD_CLOEXEC, to select the close-on-exec
  546.     bit from the flags used in F_GETFD/F_SETFD fcntl().
  547. sozobon/makefile: ++entropy
  548.     Add ctermid.o and pgrp.o to targets.
  549. unistd.h:
  550.     Do not define prototype for getopt() if _POSIX_SOURCE is defined.
  551. types.h:
  552.     Do not #include <utime.h> if _POSIX_SOURCE is defined.
  553. utime.h:
  554.     Added prototype for utime().
  555. main.c: ++schwab@issan.informatik.uni-dortmund.de
  556.     The isatty status should be cleared for dumped programs.
  557. float.h: ++schwab
  558.     Update for GCC 2.4/enquire 4.3; the values for LDBL_{EPSILON,MIN,MAX}
  559.     are computed with bc and verified with enquire.  The new values for
  560.     {FLT,DBL,LDBL}_EPSILON seem reasonable, since enquire computes the
  561.     right value for sozobon.
  562. unistd.h:
  563.     Changed BSD process group selection switch from _BSD_PGRP to
  564.     _BSD_SOURCE.
  565. stat.h: ++nox, ++entropy
  566.     Added S_ISCHR(), S_ISDIR(), S_ISBLK(), S_ISREG(), S_ISFIFO(),
  567.     S_ISMEM(), S_ISLNK(), S_IRWXU, S_IRWXG, S_IRWXO.
  568.     (btw, is S_IMEM a typo of S_IFMEM or was that intentional?)
  569. setjmp.cpp, setjmp.h:
  570.     Implemented POSIX sigsetjmp() and setlongjmp().
  571. ioctl.c, ioctl.h, pgrp.c:
  572.     Implemented BSD's TIOCNOTTY ioctl, moved tty disconnection code
  573.     out of pgrp.c.
  574. sigactio.c, signal.h:
  575.     Implemented POSIX signal set manipulation functions: sigaddset(),
  576.     sigdelset(), sigemptyset(), sigfillset(), sigismember(),
  577.     sigpending(), sigprocmask(), sigsuspend().
  578. fopen.c:
  579.     Always use O_NOCTTY flag in the call to open().
  580. write.c:
  581.     If Fwrite() returns 0 on a regular file, assume the disk is full
  582.     and return -1 with errno set to ENOSPC.
  583. errno.h, strerror.c:
  584.     Add definition of EIO and ENOSPC.
  585. read.c:
  586.     If attempting to read from controlling terminal while backgrounded
  587.     (e.g. while the tty is in a different process group), and SIGTTIN is
  588.     ignored or blocked, return -1 with errno set to EIO.
  589. isatty.c, support.h:
  590.     Add new function _isctty() to determine if a file descriptor refers
  591.     to the current process's controlling tty.  Prototype in support.h.
  592. ttyname.c:
  593.     Use L_ctermid instead of magic number 32 for length of
  594.     ttyname() return value.
  595. ctermid.c, stdio.h:
  596.     NEW file, POSIX ctermid() function.  Prototype and constant L_ctermid
  597.     in stdio.h.
  598. doprnt.c: ++dsb@cs.duke.edu
  599.     HSC choked on a string with implicit newlines (that is,
  600.         "like
  601.         this"
  602.     as GCC is wont to do); I replaced it with explicit "\n"'s and string
  603.     concatenation.
  604. fread.c, fwrite.c: ++dsb
  605.     Some judicious changes from size_t to unsigned long to allow reads
  606.     and writes of >=64K with HSC.
  607. getpw.c: ++dsb
  608.     Minor tweak to work around a foible in HSC.
  609. compiler.h: ++dsb
  610.     Changes for HSC v2.00 and higher.
  611. utime.h: ++dsb
  612.     Changed "#endif _UTIME_H" to "#endif /* _UTIME_H */" to keep HSC
  613.     from complaining.
  614. sozobon/asm_pp.ttp, sozobon/asm_pp/*: ++dsb
  615.     DELETED files; that functionality is provided via external programs
  616.     now.
  617. sozobon/readme, sozobon/makefile: ++dsb
  618.     REPLACED files.
  619. _addsubs.cpp, _addsubd.cpp, _div*.cpp, _mul*.cpp: michal
  620.     Following some discussions with Olaf I rewrote addition routines to
  621.     conform - at least here - strictly to IEEE spec.  As a matter of fact
  622.     they even decreased in size. :-) Corrects handling various cased
  623.     when you add or multiply infinities or NaNs.  To my best knowledge
  624.     this now follows IEEE specifications, although do not quote me on
  625.     that. :-) There is also some code rearangement in division routines
  626.     to reduce unnecessary branching.  Thanks michal!
  627. vdibind.h: ++jrb
  628.     Change type of errorvar parameter from int * to short *.
  629. errno.h: ++jrb
  630.     Allow for inclusion into .cpp assembler files.
  631. osbind.h: Markus Gutschke <srb242@GOEDEL.UNI-MUENSTER.DE>
  632.     Stack adjustment amount was wrong. Was 6 should be 10. Thanks
  633.     markus.
  634. osbind.h: Robert.Wilhelm@Physik.TU-Muenchen.DE
  635.     Wrong stack adjustment for trap_1_wwwll was 16 should have
  636.     been 14. Thanks robert.
  637. _cmpdf2.s, _cmpsf2.s: ++jrb
  638.     DELETED files.
  639. _cmpdf2.cpp, _cmpsf2.cpp: ++jrb
  640.     NEW files.
  641. open.c, fcntl.h:
  642.     If controlling tty is "disassociated" from the process, the next tty
  643.     device to be opened is the new controlling tty (unless O_NOCTTY is
  644.     specified in the flags during the open()).  O_NOCTTY definition
  645.     added to fcntl.h.
  646. pgrp.c:
  647.     Made a more reasonable attempt at setsid().  Kludge a way to
  648.     "disassociate" the controlling tty by forcing fd -1 to /dev/null.
  649. README:
  650.     RENAMED readme to README.
  651. Changes:
  652.     RENAMED changes to Changes.
  653. Bugs:
  654.     RENAMED bugs to Bugs.
  655. math-68881.h:
  656.     RENAMED math-688.h to math-68881.h.  (It was already "really"
  657.     named this, but I was running on a TOS filesystem).
  658. PatchLev.h, ident.c:
  659.     RENAMED patchlev.h to PatchLev.h.
  660. Makefile:
  661.     RENAMED makefile to Makefile.
  662.  
  663. PATCHLEVEL31::
  664.  
  665. statfs.c: ++shenson@camborne-school-of-mines.ac.uk
  666.     Enhanced to get more information from minixfs.
  667. unistd.h:
  668.     Added pause() and sigpause() prototypes.  Changed prototype of
  669.     setpgrp() to reflect new SysV-compatible version, and make proto
  670.     apply only if not _POSIX_SOURCE.  Changed prototype of getpgrp() to
  671.     reflect return type of pid_t (POSIX).  Added setpgid(), setsid(),
  672.     _bsd_setpgrp() and _bsd_getpgrp() protos.  To access the BSD
  673.     functions by their usual names, define the macro _BSD_PGRP (and do
  674.     _not_ define _POSIX_SOURCE) before including unistd.h (for example,
  675.     gcc -D_BSD_PGRP -c foo.c).
  676. pgrp.c:
  677.     NEW file, for process group related functions. Renamed setpgrp to
  678.     _bsd_setpgrp().  Created new SysV-compatible setpgrp(). Created
  679.     new BSD-compatible _bsd_getpgrp() (requires MiNT 1.03 or newer).
  680.     Created new POSIX setpgid() and setsid().
  681. getuid.c:
  682.     Removed getpgrp(), setpgrp() functions.  See pgrp.c.
  683. math-68881.h: ++jrb
  684.     Sync up with gnu version.
  685. math.h: ++jrb
  686.     Change all #ifdef _M68881 to
  687.     #if defined(_M68881) ||  defined(__M6881__)
  688.     __M68881__ gets automatically defined when gcc -m68881.
  689. doprnt.c: ++michal
  690.     Still, so far I found two bugs in floating point support.  One
  691.     was introduced by Howard when he tried to catch garbled results from
  692.     floating point operations.  He caught in the process also negative
  693.     zero and that was part of the reason why Scott got NaN.
  694.     [in the part that check for overflows]
  695. _divdf3.cpp: ++michal
  696.     The other part was a wrong branch in a division routine which
  697.     was giving a negative zero as a result of a division 0.0/1.0.
  698. _divdf3.cpp, _divsf3.cpp:: ++michal, olaff
  699.     Fixed sign for retinf, and retzero.
  700. doprint.c:
  701.     Undid my NaN fix; received a similar but not identical fix from bammi.
  702. mintbind.h, osbind.h:  ++pvt1-117
  703.     More changes to the Lattice C inlines.
  704. findfile.c:  ++Uwe_Ohse@pb2.maus.de
  705.     Added a new function buffindfile (like findfile, but with
  706.     one argument more (the buffer to write the findname in)), changed the
  707.     function findfile to call buffindfile.  Makes code work better with
  708.     multi-threaded code.
  709. spawnvp.c, fopenp.c:  ++Uwe_Ohse
  710.     Use buffindfile instead of findfile and include support.h
  711.     for prototypes.
  712. spawn.c:  ++Uwe_Ohse
  713.     Threw away some static arrays.
  714. support.h:  ++Uwe_Ohse
  715.     Added prototype for buffindfile.
  716. eprintf.c:  ++Uwe_Ohse
  717.     There was a static buffer which seemed pretty useless, so i
  718.     changed the function to use a local buffer.
  719. execp.c:  ++Uwe_Ohse
  720.     Uses buffindfile instead of findfile.
  721. main.c:  ++schwab
  722.     Add initialization code for new G++ minimal support.
  723.     Add non-macro versions of stdin, stdout, stderr for debuggers.
  724. getcwd.c: ++schwab
  725.     Remove kludge for broken GCC 1 optimizer since mintbind.h has
  726.     been fixed and GCC 1 is no longer supported anyway.  Upgrade!
  727. gbl-ctors.h, longlong.h, libgcc2.c: ++schwab
  728.     NEW files.  G++ minimal support.
  729. mincl:  ++schwab
  730.     Use gcc2's "-x assembler-with-cpp" to compile the .cpp files,
  731.     instead of doing the preprocessing in a separate step.
  732.     NOTE:  IF YOU STILL USE GCC 1.XX, UPGRADE NOW!
  733.     Also add support for several new files.
  734. mincl:    ++Jan-Hinrich_Fessel@un.maus.de
  735.     Add missing rule for the 020 libraries.
  736. doprnt.c:
  737.     Fixed a bug reported by Helmut Kalowski and Robert Wilhelm.
  738.     -0.0 and also 0.0/n for some values of n were being incorrectly
  739.     printed as NaN.
  740. purec/bios.s, purec/gemdos.s, purec/xbios.s: ++hohmuth
  741.     Replaced files.
  742. purec/readme.pc: ++hohmuth
  743.     Update Ulf's address.
  744. purec/osmacros.s, purec/xbios.s, purec/bios.s, purec/filter.awk,
  745. purec/gemdos.s: ++hohmuth
  746.     NEW files.
  747. purec/install.bin, purec/install.src: ++hohmuth
  748.     Doc updates.
  749. purec/bcopy.s, purec/mintbind.s, purec/mintlib.prj, purec/makefile: ++hohmuth
  750.     Various changes.
  751. osbind.h: ++hohmuth
  752.     Remove most of the "Network Gemdos Extensions" cruft from the
  753.     Turbo C section.
  754. purec/install.src: ++hohmuth
  755.     Small change in the docs.
  756. purec/readme, purec/memcpy.c: ++hohmuth
  757.     DELETED files.
  758. purec/bcopy.s:    ++Frank_Rossien@s2.maus.de
  759.     Faster algorithm, also replaces memcpy.c.
  760. purec/mintlib.prj: ++hohmuth
  761.     Removed memcpy.c.
  762. purec/makefile, purec/tosify.mak: ++hohmuth
  763.     NEW files: for people who don't like the Pure C shell.
  764. purec/install.src, purec/install.bin, purec/readme.pc:    ++hohmuth
  765.     NEW files: updated documentation.
  766. crtinit.c, spawn.c: ++hohmuth
  767.     Implement extension to ARGV standard, allowing blank arguments.
  768. aesbind.h, gemfast.h: ++bammi
  769.     Rename MENU to MENU_T.  Add definition of WHITEBAK.  Remove ib_resvd
  770.     element from ICONBLK.
  771. minimal.h: ++bammi, ++schwab
  772.     Add __main().
  773. falcon.h, stdarg.h, varargs.h, compiler.h, mintbind.h, osbind.h: ++bammi
  774.     Changes for GCC 2.
  775. gnu/stab.def: ++bammi, ++schwab
  776.     Replaced file.
  777. gnu-out.h: ++bammi
  778.     NEW file for the includes distribution, since more than just the GCC
  779.     utils are using it now.
  780. strlwr.c, strupr.c: ++bammi
  781.     Use toupper() and tolower() instead of twiddling bits manually.
  782. gmon.c: ++bammi@cadence.com, ++schwab
  783.     Clean up prototypes for tick(), new C language mcount() for
  784.     GCC 2.
  785. lattice/bcopy.s, lattice/crt0.s, lattice/linea.s, lattice/setjmp.s,
  786. lattice/vfork.s: ++pvt1-117
  787.     Updated files.
  788. symlink.c: ++hohmuth
  789.     In readlink(), don't fail if filename is exact size of the buffer,
  790.     use strncpy() to prevent writing past allocated buffer.
  791. unx2dos.c: ++hohmuth
  792.     Improved the _dos2unx() conversion scheme: we now produce file 
  793.     names which are more compatible to Posix.
  794.     NOTE: The Posix file name can now become longer than the DOS file 
  795.     name!
  796. symlink.c: ++hohmuth
  797.     readlink()'s siz parameter is no longer passed on to     
  798.     Freadlink(), because DOS and Unix file names can be of different 
  799.     length.
  800. stat.c: ++hohmuth
  801.     Compute the correct size for symbolic links; some programs depend 
  802.     on it (namely Kenneth Almquist's bourne shell `ash').
  803. unx2dos.c: ++hohmuth
  804.     New routines _path_unx2dos() and _path_dos2unx(), for conversion 
  805.     of a list of file names.
  806. lib.h: ++hohmuth
  807.     Add prototypes for new _path_unx2dos() and _path_dos2unx().
  808. main.c, spawn.c: ++hohmuth
  809.     Added DOS<->Posix path conversion for all environment variables 
  810.     that are listed in the environment variable PCONVERT.  If PCONVERT
  811.     does not exist, it defaults to "PATH".
  812. main.c:    ++hohmuth
  813.     The UNIXMODE interpretation code should ignore the parameter of 
  814.     the ".<c>" directive.  Fixed that.
  815. lattice/bcopy.s, lattice/crt0.s, lattice/linea.s, lattice/setjmp.s,
  816. lattice/vfork.s: ++pvt1-117
  817.     Replaced files.
  818. linea.h: ++pvt1-117
  819.     Inlines for Lattice C.
  820. lattice/inc.i: ++pvt1-117
  821.     New file for Lattice C.
  822. osbind.h: ++pvt1-117
  823.     More inlines for Lattice C (Fsfirst() and Fsnext()).
  824. ostruct.h: ++nox
  825.     Make ibufhd and ibuftl (in _IOREC struct) volatile, so they are
  826.     not incorrectly optimized.
  827. wait.h: ++Robert.Wilhelm@Physik.TU-Muenchen.DE
  828.     Add WIFCOREDUMPED(), WTERMSIG(), and WEXITSTATUS().
  829. popen.c: ++nox@jelal.north.de
  830.     Ensure parent's end of pipe gets close on exec, so child doesn't
  831.     hang forever.
  832. memccpy.c, memchr.c, memcmp.c, strchr.c, strrchr.c: ++schwab
  833.     memcmp() should compare with unsigned char.  strchr(), strrchr()
  834.     should not depend on signedness.  memccpy() and memcmp() simplified.
  835. types.h: ++Jan-Hinrich_Fessel@un.maus.de
  836.     Add typedef for u_int, and add a makedev() macro.
  837. realloc.c: ++schwab@ls5.informatik.uni-dortmund.de
  838.     In realloc, a block can only be split in two if there's enough room
  839.     left for a struct mem_chunk (plus a bit more).
  840. thread.c, support.h: ++boender, ++entropy
  841.     Add prototype for tfork() in support.h, #include <support.h> in
  842.     thread.c.
  843. getpw.c, grp.c, grp.h, putpwent.c, pwd.h: ++boender@dutiws.twi.tudelft.nl
  844.     New password aging code, support System V routines.
  845. osbind.h, mintbind.h: ++pvt1-117@nada.kth.se
  846.     Inline stuff for Lattice C.
  847. wait.c, wait3.c, waitpid.c, wait.h: ++hohmuth, ++entropy
  848.     Add prototypes for the waitxxx() functions, change definitions
  849.     accordingly.  Follow the POSIX standard for definitions of these
  850.     functions.
  851. utime.c, ioctl.h: ++kuehn@goedel.uni-muenster.de, ++entropy
  852.     Implement Julian's utime() patch.
  853. sozobon/orig/*:
  854.     Removed old files.
  855. eprintf.c: ++hohmuth@freia.inf.tu-dresden.de
  856.     _say()'s parameter is const; also add prototype for _say().
  857. sleep.c: ++hohmuth
  858.     Corrected signal handler's prototype, use long instead 
  859.     of __Sigfunc.
  860. getcwd.c, times.c: ++hohmuth
  861.     Added some casts to int for errno.
  862. purec/*.prj, purec/readme: ++hohmuth
  863.     Modified syntax of symbol definitions for assembler sources, for 
  864.     improved compatibility with Turbo C's assembler.
  865. abort.c: ++boender@dutiws.twi.tudelft.nl
  866.     Do not call exit(), use _exit() instead.
  867. statfs.c: ++boender
  868.     Add a kludge to get better answers on U:/PROC, U:/PIPE, U:/SHM.
  869. sleep.c:
  870.     Really fixed the problem with usleep() sleeping forever.
  871. bsearch.c: ++nox@jelal.north.de (Juergen Lock), ++entropy
  872.     Relax bug checking, return NULL for 0 parameters instead of
  873.     assert()ing them to be non-NULL.
  874. errno.h: ++schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
  875.     New error, EPIPE.
  876. fcntl.h: ++schwab
  877.     Move internals of the library file I/O stuff to the library's
  878.     "lib.h".
  879. close.c, dup.c, ioctl.c, isatty.c: ++schwab
  880.     Account for the above change.
  881. _addsubd.cpp, _addsubs.cpp, _divdf3.cpp, _divsf3.cpp, _extends.cpp,
  882. _fixdfsi.cpp, _fixsfsi.cpp, _fxunsd.cpp, _muldf3.cpp, _mulsf3.cpp,
  883. _truncdf.cpp: ++schwab
  884.     Use "bset #bitno,dn" instead of "orl #imm,dn" for speed.
  885.     Fix a typo in _fixsfsi.cpp.
  886. atof.c: ++schwab
  887.     Fix a bug.
  888. ctime.c: ++schwab
  889.     [I don't understand this change, so I won't try to document it. -ent]
  890. doprnt.c: ++schwab
  891.     Fix 68020 version of _ICONV (divull arguments were reversed).
  892. filbuf.c: ++schwab
  893.     Set fp->_cnt = 0 on EOF or error.
  894. fopen.c: ++schwab
  895.     Don't close tty device if victim of freopen().  Also in freopen(),
  896.     get a new buffer if file was closed.
  897. ltoa.c: ++schwab
  898.     #include "lib.h" once only.
  899. popen.c: ++schwab
  900.     Arrange for close parent's side of pipe in child process.  Free
  901.     all used resources carefully.  Clean up linked list routines for
  902.     pipe resource tracking.
  903. strerror.c: ++schwab
  904.     Add message for EPIPE.
  905. strftime.c: ++schwab
  906.     Fix typo in case 't'.  Initialize buf if format directive is
  907.     undefined.
  908. strtol.c: ++schwab
  909.     Negating LONG_MIN gives overflow.
  910. sysconf.c: ++schwab
  911.     Pass argument to pathconf() through _unx2dos().
  912. wait.c, wait3.c, waitpid.c: ++schwab
  913.     Check for invalid signals (can result from Pterm(n) with n > 255).
  914.     In waitpid.c, don't crash by recording status into NULL pointer.
  915.     In wait3.c and waitpid.c, don't zero status->w_coredump.
  916.  
  917. PATCHLEVEL30::
  918.  
  919. purec/mintbind.s: ++hohmuth@freia.inf.tu-dresden.de
  920.     Add bindings for Dgetcwd() and Salert() system calls.
  921. crlf/crlf.c:
  922.     Fix so it compiles on suns.
  923. aesbind.h, vdibind.h, gemfast.h: ++jrb
  924.     Changes for SpeedoGDOS and Falcon AES.
  925. strlwr.c, strupr.c: ++jrb
  926.     Made more robust.
  927.  
  928. PATCHLEVEL29::
  929.  
  930. sleep.c:
  931.     It's up to the user, not the library, to make sure we don't lose by
  932.     longjmp()ing out of a signal handler (and thus not restore our
  933.     context correctly).  This simplifies things quite a bit, and fixes
  934.     the annoying granularity of the PL28 version.
  935. sleep.c:
  936.     Fixed a bug, usleep(0) used to sleep forever (until interrupted)
  937.     instead of no time.
  938. purec/alloca.s, purec/*.prj, purec/readme: ++hohmuth@freia.inf.tu-dresden.de
  939.     Rename STACK_CHECKING to STACKCH, for compatibility with Turbo C.
  940. crtinit.c: ++hohmuth
  941.     Add _PgmSize variable, featuring the total size of the program.
  942. exec.c: ++boender@dutiws.twi.tudelft.nl
  943.     Remove references to "extern char **environ", we can just pass NULL
  944.     to spawnve() to get the current environment.  Remove functions
  945.     execlp() and execvp() to reduce library drag.
  946. execp.c: ++boender
  947.     NEW file, containing execlp() and execvp(), previously in exec.c.
  948. fork.c, getpid.c, kill.c, killpg.c, pipe.c, select.c, wait.c:
  949.     Include <mintbind.h> instead of "mintbind.h", this should speed up
  950.     your makes by a few milliseconds.
  951. times.c:
  952.     Fixed a small bug, errno wasn't being set correctly in one case.
  953. makefile, mincl:
  954.     Remove GLIB3 stuff, bammi says there's no getting around -lg++.
  955. gnulib3.c, xyzzy.cc:
  956.     DELETED files, bammi says there's no getting around -lg++.
  957.  
  958. PATCHLEVEL28::
  959.  
  960. a64l.c: ++boender@dutiws.twi.tudelft.nl
  961.     Add to comments a note that prototypes are in support.h.
  962. alarm.c: ++boender, ++entropy
  963.     If requested time is greater than MiNT can handle, "round down" to
  964.     (LONG_MAX/1000) seconds, to prevent unexpected "inquiry" calls to
  965.     Talarm() (or even possible crashes).  This is only relevant if long
  966.     integers are used, since (USHRT_MAX < (LONG_MAX/1000)).  Do NOT set
  967.     errno if an error results (the only error that can be recognized,
  968.     anyway, is that alarm() was called when MiNT was not active.  In
  969.     this case, 0 is returned and no alarm is set.)
  970. getpass.c:
  971.     Read password from /dev/tty, instead of stdin, if MiNT is active.
  972. link.c, symlink.c, support.h:
  973.     Functions link(), symlink() now take "const char *" instead of
  974.     "char *" parmeters.
  975. getcwd.c: ++boender, ++entropy
  976.     Use Dgetcwd() when running on MiNT 0.96 or newer.
  977. limits.h: ++jrb (bammi@cadence.com)
  978.     Fix definition of INT_MIN, evidently casting it to float didn't work
  979.     with the old (equivalent) value.
  980. stdlib.h: ++jrb
  981.     Changed alloca macro for better parameter checking.
  982. eprintf.c: ++jrb
  983.     Make _say() a function instead of a macro.
  984. fwrite.c, linea.c: ++jrb
  985.     Some stuff I missed in patchlevel 26.
  986. vdiesc1.h: ++jrb
  987.     DELETED file, seems this was some leftover temp file, everything in
  988.     it is already in vdibind.h.
  989. access.c: ++boender, ++entropy
  990.     Use real, not effective, user id's for access() checks.
  991.     Fix so access() always returns success on existing files if real
  992.     user id is 0 (root), regardless of file mode.
  993. stat.c: ++ers
  994.     Fix so stat("foo\\") is equivalent to stat("foo"), under TOS.
  995. unx2dos.c: ++hohmuth
  996.     Support unx2dos() and dos2unx() on non-GCC compilers (to the minimal
  997.     extent to which they are supported on GCC).
  998. sleep.c: ++entropy, ++boender
  999.     Allow sleep() to be interrupted by signals under MiNT (0.95 or
  1000.     greater) by re-implementing with Psigpause() etc.
  1001. clock.c, getrusag.c, sleep.c, thread.c, times.c, time.h: ++boender, ++entropy
  1002.     Replace all occurrences of clock() with _clock(), temporarily
  1003.     alias clock() to call _clock() until we have something better.
  1004. times.c:
  1005.     Set errno and return -1 on error.
  1006. mintbind.h:
  1007.     Add new GEMDOS functions (macros) Dgetcwd() and Salert().
  1008. errno.h: ++boender
  1009.     Define ENODEV as alias for EUKDEV/EUNDEV.
  1010.  
  1011. PATCHLEVEL27::
  1012.  
  1013. isatty.c:
  1014.     Did some testing, it looks OK.  Fixed up the comments so
  1015.     it should be obvious how it works.
  1016. alloca.s, bcopy.s: ++dsb@cs.duke.edu
  1017.     RENAME to alloca.cpp, bcopy.cpp so we can do conditional compilation.
  1018. alloca.cpp, bcopy.cpp, bzero.cpp: ++dsb
  1019.     Changes for HSC.
  1020. mincl:
  1021.     Account for the name changes.
  1022. compiler.h: ++dsb
  1023.     Rearrange the __SOZOBONC__ #defines, fix a typo.
  1024. ctime.c, fscanf.c, sscanf.c: ++dsb
  1025.     Make compatible with HSC.
  1026. ident.c: ++hohmuth@freia.inf.tu-dresden.de
  1027.     Include patchlev.h instead of PatchLev.h since I zoo up the libs
  1028.     on a vanilla TOS filesystem.  This makes cross-compiling easier.
  1029. compiler.h: ++hohmuth
  1030.     define __TCC_GEMLIB__ when used with Pure/Turbo C
  1031. aesbind.h, gemfast.h: ++hohmuth
  1032.     Make it useable with Pure's GEM library.  The special declarations
  1033.     in aesbind.h check for __TCC_GEMLIB__.  Improved compatibility with
  1034.     Turbo's GEM declarations when __TCC_COMPAT__ is defined.
  1035. osbind.h: ++hohmuth
  1036.     Fix typos, add macros for sloppier type checking when used with 
  1037.     Pure C.
  1038. strupr.c: ++hohmuth
  1039.     NEW file:  add library call strupr().
  1040. string.h: ++hohmuth
  1041.     Add declaration of strupr().
  1042. mincl, lattice/mincl.lcc, purec/mintlib.prj, sozobon/makefile:
  1043.     Add strupr.c.
  1044. doprnt.c: ++Ulf_Moeller@hh2.maus.de
  1045.     Fix up the ARG macro (which tends to produce wrong results with Pure
  1046.     C (which uses a type conversion scheme within ?: that differs from
  1047.     GCC)).
  1048. purec/*default*.prj: ++hohmuth
  1049.     The default project files now produce .ttp files by default.
  1050. purec/mint*.prj: ++ulf
  1051.     Use long distance jumps to call main().
  1052. purec/setjmp.s: ++ulf
  1053.     Save one more reggie.
  1054. purec/bcopy.s: ++(forgot who, sorry)
  1055.     Add symbol _bcopy.
  1056. dirent.c: ++hohmuth
  1057.     Avoid warning when compiling with __MSHORT__.
  1058. regexp.c: ++hohmuth
  1059.     Make it Turbo/PureC-proof.
  1060. ctime.c: ++hohmuth
  1061.     Add prototype for two_dig().
  1062. purec/bzero.c, purec/memcpy.c, purec/memset.c: ++hohmuth
  1063.     Moved files into purec/ since they are no longer in sozobon/.
  1064. purec/mintlib.prj: ++hohmuth
  1065.     Add a64l.c, account for moved files.
  1066. sozobon/makefile: ++hohmuth
  1067.     Add strupr.c.
  1068. falcon.h: ++hyc@hanauma.jpl.nasa.gov
  1069.     Remove superfluous equals sign in enum declaration.
  1070. bugs: ++boender@dutiws.twi.tudelft.nl
  1071.     Many new entries.  Thanks, Hildo!
  1072. fread.c: ++ulf
  1073.     Fix return value for text mode.
  1074. times.c, times.h: ++ulf
  1075.     Use long return value instead of int.  This allows larger values
  1076.     and agrees with the SysV man page.
  1077. crlf/crlf.c, crlf/crlf.doc, crlf/Makefile:
  1078.     NEW files.  Program to strip (or add) carriage returns from (or to)
  1079.     test files.
  1080. *:
  1081.     Carriage returns stripped from all top-level files and all include
  1082.     files (files in sozobon/, purec/, and lattice/ not stripped).
  1083.  
  1084. PATCHLEVEL26::
  1085.  
  1086. changes:
  1087.     Rotated file to newest-first order.
  1088. readme:
  1089.     Added a few words of my own.
  1090. falcon.h:
  1091.     Protected against multiple #include's.
  1092. st-out.h: ++jrb
  1093.     Synchronized with bammi's version from incl85.
  1094. string.h:
  1095.     Added some parens to appease gcc -Wall with gcc 2.3.1.
  1096. getuid.c: ++boender@dutiws.twi.tudelft.nl, ++entropy
  1097.     Only negative returns from Psetuid() and Psetgid() indicate
  1098.     an error.  Positive returns indicate success (the PID is
  1099.     returned from the OS).  Modified getuid() and setgid() accordingly.
  1100. _isnan.s: ++jrb
  1101.     NEW module from bammi's update27.
  1102. linea.h: ++jrb
  1103.     Applied bammi's patch from update27 (bammi's new address)
  1104. a64l.c: ++boender@dutiws.twi.tudelft.nl
  1105.     NEW module for conversion between longs and base-64 ASCII strings.
  1106. a64l.c: ++entropy
  1107.     Use __PROTO, use compiler.h, etc.
  1108. support.h:
  1109.     Added prototypes for a64l(), l64a().
  1110. bugs:
  1111.     NEW file.  Will be used as a sort of scratchpad for things that
  1112.     should be fixed.
  1113. common:
  1114.     NEW file to give an idea of what files are (or, rather, should be)
  1115.     the same in both the mntlib and bammi's toslib.
  1116. mincl: ++jrb
  1117.     Added _isnan.o to GLIB1.
  1118. mincl: ++entropy
  1119.     Added a64l.o to PORT.
  1120. makefile: ++entropy
  1121.     Added the -mbaserel libs to the default ("top") target.
  1122.     Added my personal setup in an ifdef.
  1123. _addsubd.cpp, _addsubs.cpp, _cmpdf2.s, _cmpsf2.s, 
  1124. _divdf3.cpp, _divsf3.cpp, _extends.cpp, _muldf3.cpp, _mulsf3.cpp, 
  1125. _negdf2.s, _negsf2.s, _normdf.cpp, _normsf.cpp, _truncdf.cpp,
  1126. atof.c, doprnt.c: ++jrb
  1127.     Synched with bammi's update27 and intermediate update.
  1128. support.h: ++boender@dutiws.twi.tudelft.nl, ++entropy
  1129.     Fixed prototype for link().  Removed protoype for isatty()
  1130.     (it exists in unistd.h)
  1131. limits.h:
  1132.     Added #define PASS_MAX 8.
  1133. getpass.c:
  1134.     Fixed to use PASS_MAX, fixed off-by-one-error (was writing past end
  1135.     of static buf, very bad news).  Removed some small kludges.
  1136. fflush.c: ++boender@dutiws.twi.tudelft.nl, ++entropy
  1137.     Return EOF instead of 0 for files that aren't open.
  1138. kill.c: ++boender@dutiws.twi.tudelft.nl, ++entropy
  1139.     Allow negative pid's so process groups can be signalled.
  1140. isatty.c: ++boender@dutiws.twi.tudelft.nl, ++entropy
  1141.     Only seek back to original position if fd wasn't a tty, to avoid
  1142.     OS overhead.  Don't bother setting errno, there's no point in
  1143.     doing so.  Old code had a comment saying it tries to seek forward
  1144.     one byte, but it was actually seeking to absolute position one.
  1145.     Now it does SEEK_CUR; hopefully this won't break it.
  1146.  
  1147. PATCHLEVEL25::
  1148.  
  1149. ioctl.h:
  1150.     ANYP means "no parity", not "any speed"
  1151. wtmp.c: ++entropy@gnu.ai.mit.edu
  1152.     If we're going to write to a file, we
  1153.     really should open it for writing, not reading!
  1154. difftime.c: ++entropy@gnu.ai.mit.edu
  1155.     The parameters were reversed. Ouch.
  1156. bcmp.c: ++hohmuth@freia.inf.tu-dresden.de
  1157.     Change the ODD macro to return a 16 bit value (for
  1158.     Pure C)
  1159. crtinit.c:
  1160.     Changed the "switch(_stksize)" statement into an
  1161.     if-then-else (apparently PureC can have troubles
  1162.     with a long in a switch statement).
  1163. purec/: ++hohmuth@freia.inf.tu-dresden.de
  1164.     Updated documentation for the unixname program,
  1165.     and provided source code.
  1166. open.c:
  1167.     Modified to use the kernel's O_APPEND when appropriate.
  1168. spawn.c: ++ulf@wolfhh.hanse.de
  1169.     Fixed an off-by-one error in the command line calculation
  1170.     stuff.
  1171.  
  1172. Changes from Andreas Schwab (scwab@ls5.informatik.uni-dortmund.de):
  1173. * compiler.h: for gcc2, use the builtin sizes
  1174. * gemfast.h: add XCONTROL messages and WF_COLOR defines
  1175. * mintbind.h, osbind.h: add the missing definitions
  1176. * rusage.h: fix typo, add <time.h> for struct timeval
  1177. * screen.h: fix definitions for TT
  1178. * stdio.h: allow 32 open files as does MiNT
  1179. * stdlib.h (alloca): avoid cpp warning, nearly all GNU programs define
  1180.     it unconditionally
  1181. * termcap.h: fix typo
  1182. * wait.h (WSTOPPED): use expected value
  1183.  
  1184. select.c:
  1185.     Fixed the parameters (they were supposed to have type
  1186.     "long *" rather than "long").
  1187. dirent.[ch]:
  1188.     Fixed a very bogus use of the Dreaddir() return value,
  1189.     which in fact is a magic cookie that can't be used!
  1190.  
  1191. various places:
  1192.     Applied bammi's updates (thanks, bammi!)
  1193.  
  1194. PATCHLEVEL24::
  1195.  
  1196. Applied Howard's patches for various .cpp and .s files.
  1197. Thanks!
  1198.  
  1199. PATCHLEVEL23::
  1200.  
  1201. Makefile,mincl,bcopy.s,*.cpp:
  1202.     Applied jrb's & hyc's updates.
  1203. purec/*:
  1204.     Applied Michael's Pure C patches.
  1205. waitpid.c:
  1206.     New file, courtesy of Howard.
  1207. mintbind.h,linea.h:
  1208.     Fixed various bugs; again, thanks, Howard!
  1209. crtinit.c:
  1210.     Made the baserel code more stable.
  1211. lattice/vfork.s:
  1212.     Fixed the setting of errno in the __MSHORT__
  1213.     case.
  1214.  
  1215. PATCHLEVEL22:
  1216.  
  1217. inistack.c:
  1218.     Change _initial_stack into an uninitialized variable, so
  1219.     that fixstk doesn't try to set it by default.
  1220. purec/*:
  1221.     Apply Michael's patches for Pure C.
  1222. mintbind.h:
  1223.     Fix the definition for Psigaction. Remove misspelling of
  1224.     Sigpalette.
  1225. scanf.c:
  1226.     Apply Ulf's patch for Pure C.
  1227. doprnt.c,getpages.c,getpass.c,malloc.c,obstack.c,stricmp.c,strnicmp.c,
  1228. strrchr.c,textio.c:
  1229.     Apply Michael's Pure C patches.
  1230. sbrk.c:
  1231.     Corrected the sense of the #ifdef __GNUC__ (thanks, Michael).
  1232. system.c:
  1233.     Fixed a silly return statement.
  1234. regexp.c:
  1235.     Got rid of a warning about "regprop" not being defined when
  1236.     !DEBUG.
  1237. crtinit.c:
  1238.     Fixed to make shared text programs possible with Howard's
  1239.     new gcc.
  1240. crt0.s,gcrt0.s:
  1241.     REPLACED by crt0.cpp.
  1242. mincl:
  1243.     Updated to reflect the new crt0.cpp.
  1244. makefile.b16,makefile.b32:
  1245.     New makefiles for gcc with -mbaserel.
  1246.  
  1247.